// generator 函数
function *fn() {
  // console.log(1)
  yield 1
  // console.log(2)
  yield 2
  // console.log(3)
  yield 3
  // console.log(4)
  yield 4
  // console.log(5)
}   

const f = fn()

for(let key of f) {
  console.log(key)
}


// const a = f.next()
// const b = f.next()
// console.log(a, b)

// let i = 0

// const obj = {
//   [Symbol.interator]: function() {
//     return {
//       next() {
//         if(i > 10) {
//           return { value: undefined, done: true }
//         }
//         return { value: i++, done: false }
//       }
//     }
    
//   }
// }

// for(let value of obj) {
//   console.log(value)
// }